package com.wicket.okrbff.biz.service;

import com.wicket.okrbff.biz.service.dto.req.*;
import com.wicket.okrbff.biz.service.dto.res.*;
import com.wicket.okrframework.integration.FwBaseUserClient;
import com.wicket.okrbff.common.exception.Assert;
import com.wicket.okrbff.common.util.CommonFunctionHelper;
import cn.hutool.core.bean.BeanUtil;
import java.util.stream.Collectors;
import com.wicket.okrframework.integration.dto.QueryUserInfoByLoginDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryUserInfoByLoginDetailReqDto;
import com.wicket.okrframework.integration.FwBaseBaseClient;
import com.wicket.okrframework.integration.FwBaseCaptchaClient;
import com.wicket.okrframework.integration.FwBaseBusinessObjectClient;
import com.wicket.okrframework.integration.dto.CheckCaptchaValidRespDto;
import com.wicket.okrframework.integration.dto.CheckCaptchaValidReqDto;
import com.wicket.okrframework.integration.dto.CheckLoginNumberRespDto;
import com.wicket.okrframework.integration.dto.CheckLoginNumberReqDto;
import com.wicket.okrbff.common.exception.BizException;
import com.wicket.okrframework.integration.dto.QueryAppforLoginDetailComRespDto;
import com.wicket.okrframework.integration.dto.QueryAppforLoginDetailComReqDto;
import com.wicket.okrframework.integration.dto.ImplementSignIncheckProcessingDataComRespDto;
import com.wicket.okrframework.integration.dto.ImplementSignIncheckProcessingDataComReqDto;
import com.wicket.okrframework.integration.dto.AddRenewUserInfoRespDto;
import com.wicket.okrframework.integration.dto.AddRenewUserInfoReqDto;
import com.wicket.okrframework.integration.FwBaseDivineDataClient;
import com.wicket.okrframework.integration.dto.ClearUserInfoFromRedisRespDto;
import com.wicket.okrframework.integration.dto.ClearUserInfoFromRedisReqDto;
import com.wicket.okrframework.integration.dto.QueryUserPwdProblemDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryUserPwdProblemDetailReqDto;
import com.wicket.okrframework.integration.dto.QueryUserPwdProblemDetailComRespDto;
import com.wicket.okrframework.integration.dto.QueryUserPwdProblemDetailComReqDto;
import com.wicket.okrframework.integration.dto.QueryUserInfoDetailComRespDto;
import com.wicket.okrframework.integration.dto.QueryUserInfoDetailComReqDto;
import com.wicket.okrframework.integration.dto.ClearTokenFromRedisRespDto;
import com.wicket.okrframework.integration.dto.ClearTokenFromRedisReqDto;
import com.wicket.okrframework.integration.dto.ObtainSpaceThirdPartyAuthenticationConfInfoComRespDto;
import com.wicket.okrframework.integration.dto.ObtainSpaceThirdPartyAuthenticationConfInfoComReqDto;
import com.wicket.okrframework.integration.dto.ImplementAuthLoginOutComRespDto;
import com.wicket.okrframework.integration.dto.ImplementAuthLoginOutComReqDto;
import com.wicket.okrframework.integration.dto.ImplementLoginComRespDto;
import com.wicket.okrframework.integration.dto.ImplementLoginComReqDto;
import com.wicket.okrcomponent.integration.FwCompMessageClient;
import com.wicket.okrcomponent.integration.dto.ImplementInitializationMessageLocationByLoginComRespDto;
import com.wicket.okrcomponent.integration.dto.ImplementInitializationMessageLocationByLoginComReqDto;
import com.wicket.okrframework.integration.dto.QueryObtainUnifiedAuthenticationLoginInformationDetailComRespDto;
import com.wicket.okrframework.integration.dto.QueryObtainUnifiedAuthenticationLoginInformationDetailComReqDto;
import com.wicket.okrframework.integration.dto.QueryAuthAccountInfoDetailRespDto;
import com.wicket.okrframework.integration.dto.QueryAuthAccountInfoDetailReqDto;
import com.wicket.okrcomponent.integration.dto.ImplementRealTimeUpdateMsgLocationPushComRespDto;
import com.wicket.okrcomponent.integration.dto.ImplementRealTimeUpdateMsgLocationPushComReqDto;
import com.wicket.okrcomponent.integration.FwCompInterfaceModeClient;
import com.wicket.okrcomponent.integration.dto.ImplementFieldsNameAndValueToOneDatasComRespDto;
import com.wicket.okrcomponent.integration.dto.ImplementFieldsNameAndValueToOneDatasComReqDto;
import com.wicket.okrcomponent.integration.dto.RealTimeMonitoringBehaviorInstructionDto;
import cn.hutool.core.collection.CollectionUtil;
import com.wicket.okrcomponent.integration.dto.JudgeIsInrealTimePushTopicMsgNumComRespDto;
import com.wicket.okrcomponent.integration.dto.JudgeIsInrealTimePushTopicMsgNumComReqDto;
import com.wicket.okrframework.integration.FwBaseRoleClient;
import com.wicket.okrframework.integration.dto.QueryRoleOfPowerListComRespDto;
import com.wicket.okrframework.integration.dto.QueryRoleOfPowerListComReqDto;

/**
 * @author ：
 * @date ：
 *
 *
 * @version 1.0
 */
public interface UserService {
    /**
   * 登录
   */
    BffLoginRespDto login(BffLoginReqDto reqDto);

    /**
   * B1-切换公共信息
   */
    BffChangePublicInfoRespDto changePublicInfo(BffChangePublicInfoReqDto reqDto);

    /**
   * B1-2换绑手机号
   */
    BffUpdateChangePhoneRespDto updateChangePhone(BffUpdateChangePhoneReqDto reqDto);

    /**
   * B1-2退出登录
   */
    BffLogoutRespDto logout(BffLogoutReqDto reqDto);

    /**
   * B1-2修改个人资料
   */
    BffUpdateUserInfoRespDto updateUserInfo(BffUpdateUserInfoReqDto reqDto);

    /**
   * B1-2查询账号安全信息列表
   */
    BffQueryAccountSecurityListRespDto queryAccountSecurityList(BffQueryAccountSecurityListReqDto reqDto);

    /**
   * B1-2首次登录完善个人资料
   */
    BffUpdateRenewUserInfoRespDto updateRenewUserInfo(BffUpdateRenewUserInfoReqDto reqDto);

    /**
   * B1-2查询个人信息详情
   */
    BffQueryPersonalInformationDetailRespDto queryPersonalInformationDetail(BffQueryPersonalInformationDetailReqDto reqDto);
/**
   * B1-查询用户登录信息（非Redis）
   */
    BffQueryUserInfoByLoginDetailRespDto queryUserInfoByLoginDetail(BffQueryUserInfoByLoginDetailReqDto reqDto);
/**
   * 登录V2
   */
    BffLogUserinRespDto LogUserin(BffLogUserinReqDto reqDto);
/**
   * B1-2查询个人密保问题详情
   */
    BffQueryUserPwdProblemDetailRespDto queryUserPwdProblemDetail(BffQueryUserPwdProblemDetailReqDto reqDto);
/**
   * B1-2查询密保问题详情
   */
    BffQueryPwdProblemDetailRespDto queryPwdProblemDetail(BffQueryPwdProblemDetailReqDto reqDto);
/**
   * B1查询个人资料详情(公共)
   */
    BffQueryUserInfoDetailComRespDto queryUserInfoDetailCom(BffQueryUserInfoDetailComReqDto reqDto);
/**
   * 登录V3
   */
    BffImplementLoginRespDto implementLogin(BffImplementLoginReqDto reqDto);
/**
   * B1查询获取统一认证登录信息详情
   */
    BffQueryObtainUnifiedAuthenticationLoginInformationDetailRespDto queryObtainUnifiedAuthenticationLoginInformationDetail(BffQueryObtainUnifiedAuthenticationLoginInformationDetailReqDto reqDto);
/**
   * B1-执行第三方退出登录
   */
    BffImplementThirdPartyLoginOutRespDto implementThirdPartyLoginOut(BffImplementThirdPartyLoginOutReqDto reqDto);
    //
}
